package com.hxkj.service;

import com.github.pagehelper.PageInfo;
import com.hxkj.domain.po.Leaflet;
import com.platform.common.domain.result.ResultDataStruct;
import com.platform.common.domain.result.ResultMessageStruct;
import com.platform.common.domain.to.PageTo;

import java.util.List;

/**
 * 单页Service
 * <p>
 * created by zzx on 2018/6/5.
 */
public interface LeafletService {

    /**
     * 获取单页列表
     *
     * @param
     * @return
     * @throws Exception
     */
    PageInfo<Leaflet> getLeafletList(Leaflet leaflet, PageTo pageParam) throws Exception;


    /**
     * 查询一条单页信息
     *
     * @param leaflet
     * @return
     * @throws Exception
     */
    ResultDataStruct getLeaflet(Leaflet leaflet) throws Exception;


    /**
     * 修改一条单页信息
     *
     * @param leaflet
     */
    ResultMessageStruct updateLeaflet(Leaflet leaflet) throws Exception;

    /**
     * 批量软删除单页
     *
     * @param leaflet
     */
    ResultMessageStruct removerLeaflet(Leaflet leaflet) throws Exception;

    /**
     * 发布一条单页信息
     *
     * @param leaflet
     */
    ResultDataStruct saveLeaflet(Leaflet leaflet) throws Exception;

    /**
     * 查询一条 启用 的 单页信息
     *
     * @param leaflet
     * @return
     * @throws Exception
     */
    ResultDataStruct getLeafletByStatus(Leaflet leaflet) throws Exception;

    /**
     * 获取所有启用的单页信息
     *
     * @param leaflet
     * @return
     * @throws Exception
     */
    ResultDataStruct<List<Leaflet>> getLeafletList(Leaflet leaflet) throws Exception;

    /**
     * 根据自定义标签查询 对应的单页集合
     *
     * @param leaflet
     * @return
     * @throws Exception
     */
    ResultDataStruct<List<Leaflet>> getLeafletByIds(Leaflet leaflet) throws Exception;

    /**
     * 根据主键查询一条单页信息
     *
     * @param
     * @return
     * @throws Exception
     */
    Leaflet getLeafletByPrimary(Leaflet leaflet) throws Exception;
}
